{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "cf9a11e5",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "3410558f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "最近 2 年上涨月数/总月数：7/25 | 概率：28.00%\n",
      "最近 3 年上涨月数/总月数：12/37 | 概率：32.43%\n",
      "最近 5 年上涨月数/总月数：23/61 | 概率：37.70%\n",
      "最近 8 年上涨月数/总月数：43/97 | 概率：44.33%\n",
      "最近 10 年上涨月数/总月数：55/121 | 概率：45.45%\n",
      "最近 13 年上涨月数/总月数：76/157 | 概率：48.41%\n"
     ]
    },
    {
     "data": {
      "image/png": "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Uqeccook/ytn5s6dq8suu6xE+VVXXVWirOgqoSPxzTff6K677tLLL7+su+++W1JBouv333/XxRdfrG+++UYJCQkBty9+iaI/3m9lK87tdisqKkobNmzQwYMHFRUVpf379ys3N1dbtmyRx+NRXl6eTjrppFJff/LkyVYfFI3HNE117NjR+ha7N998U2PHjrWe79u3r/Xv9PR0NWjQQImJiWrXrp3uuOMOeTwejRo1SlLBZWLee2oFMmjQoDLvKVUeGzdu9EnaeJNSNWrUsJJSbdq00T333KPnnntOUVFR6tOnj6SCG4/Hx8dLkrWKqEWLFvrkk0/8Xr7pdccddygjI0P/93//p+eee04JCQnatGmTrr/+es2dO1f169fXN998Y72P199//61bb71VSUlJevvtt9WtWze1bt1aV111lSZOnKi5c+fq8ssvt+rv2rVL9evX90mobtu2Tffee6/q1Kmja6+9Vj/88IP+/e9/q0GDBpo/f77P/ctiYmKUl5fnd+Xg4sWL1bVrV6u/nE6nduzYIalgtdtll12m3377rcQKRgAAUBJJKQAAIljRS8LS0tI0ffp0Pf30036f9/J+UN+8eXPApM8///yjFi1aHNUqqenTp2vw4MF65plndPXVV1tJqZYtW+qnn35S9+7d1bNnT/3www+qWbNmwNd55plnStw8XCpYXfTCCy8E3C4jI0NVqlTRgw8+qO+++85a3SRJZ511ltxut/Ly8jRhwoRS2+H95r3iyrqczntpW3R0tPbu3Wvd2+i2225Tbm6uzze4HTp0SDVq1FBubq48Hk+JFWTe5MexdM4551gJtUCioqL0wgsv6KyzzlKXLl20bds2GYZhxffBBx/os88+k8fj0T333COpIBEpFayMKnpvKalgJVG9evW0fPly6wb8LpdLknTiiSdKKrh/VPHLAr/77jtdeeWVeuqpp/Thhx/qxhtv1Pnnn6+PPvpI06ZNU926dX3u57Vr1y41adLE5zX69++vd955R4MHD1Zubq6WL1+uiy++WGlpaerRo4emTZvmk0gsT79572M1Y8aMEgk1AAAQ2LG/8QAAALBN0cv2vB/uvfdLCqQ8iabSLo8LxO1265FHHtHAgQP17LPP6oEHHihRp02bNvruu++0bt06XXjhhdaHen9iY2PVuXNnpaWlWT89e/Ys8W17xe3fv1/Vq1fX559/rj179mjLli1KTk62frZt26ZDhw75XEbnz99//y3TNGWaps+34rlcLm3dulVjxozRmDFj9OOPP/psN27cOOsbCH/77Tddd9111k3BR4wYoQ8//NB6/NFHH2nUqFGKi4vzmxg5cOCA8vLydODAgYA/oXTllVeqYcOGSk1NVZUqVZSenq4DBw4oKirKukQ0NjZW7777rjIzM2WapjUeixo6dKhuueUW1a1b11rF571k1LvaqEqVKiVWzw0aNEg33XST/vnnH912223q2LGj9u7dq7Zt2yoxMVGTJk1SSkqKNm3apH379mnfvn067bTTSrz/zTffrPvvv1+DBw/WmWeeqUaNGqlmzZq6/fbb9dhjj/m9DLY8yvqmSwAA4IukFAAAEazoh+j09HTVrl3buqyq+PNe3hU+27dv90nSFP3xJgj8JRZKs3r1ap155pl6/fXXrURLIJ07d9YXX3yhFStWlPrNdN57QyUmJlo/gb6Rr6jNmzdbCbqePXuqZs2aJX4CrRTau3evUlNTJUkHDx60Ej8ej0eZmZnat2+fsrKytG/fPk2ZMkVTpkzRX3/95fMat99+u/bu3au0tDQ1bNhQs2fPthJqr7/+uk+S7eyzz9a7776rvXv36sMPPywRz4EDBzR9+nS/bfD+FL/30bG0Z88eHTx4UPv371dWVpb1nj169NAjjzwih8Oh8ePHq1mzZurXr5/efffdEvt0yZIl+uabbzRgwACf8l9++UWSrG/V82fkyJFq27at2rRpI7fbrdGjR6tVq1Zq1KiRTj75ZF1xxRU6//zz9cUXX2jevHlq3ry56tev7/e17r77bkVHRysnJ8dakXX//fdr3bp1+vzzz4+ilwAAQHmRlAIAIIIVTUSsX7/eZyWP5D+p5L0H07nnnqsmTZr4/enevbukgsvGyqNx48Y69dRTtXjxYr/3qCquZ8+emjZtWsBvP5MK2uh2u31WBblcrhKXeBW3YsUK6xKu+Ph4PfPMM9aKJ2+yLi4uzu+2ffv2Vbt27ZSQkKB//etfaty4sRo3bqwDBw7ooYce0ujRo7V9+3YNHDhQa9eu1dq1a/XYY4/5vEb16tVVp04dJSYmKj09Xc2aNVNiYqJuvfVW3X///Xr44YetJFt2drbq16+vOnXqlLiPkWmaWr16tV555RWf+Iv/HOvL+4qaNGmSBg0apBtuuEGmaWrz5s2SSvZf165d9dtvv/l9jccff1yXXXaZevfubZUdOnRI06dP1z333KNJkyZp9+7dfrf99NNPlZubq/bt22vcuHE6ePCgli9frqioKCvJNXDgQE2cOFEffvihLrzwwoBtefzxx9WuXTvt27dPTz31lKSCSwfvuusu6xLL8ih+g3sAABA87ikFAEAEczgcatmypaSClSadOnXSwYMHtXPnTnXt2lVNmzYtsU2DBg0CXqZkmqbPfajKSvwUFx8fr6lTp5Zrm+IrZ4rLzc3VwoULS9x3qrQbsK9Zs0YpKSnq1KmTJP8rxkrz+++/S5ImTJigm266SdWqVdP69eu1bds29ezZUy6XS/Xr1w/qHkTp6enKysqyVu5cd911qlevnpXYkQpWY1WpUkXZ2dkl7if1559/KjU1Veeee2652nAsffXVV7r++utLlBdPhPXq1UsPPvigXnnlFZ/LRGfMmKHvv/9eK1eu9Kn/wAMPqEGDBnrllVe0fv16XX311frhhx/8Jgu//PJLLVq0SN27d9cPP/yg9957T1dddZWVeLz22mv10EMP6bPPPtPy5cv9tmPWrFn6z3/+o7/++kvbtm1T37591bdvX51++ul69dVXy9Unqampeu655zRx4kStX7/eb529e/eqZs2a5b4JPQAAxwtWSgEAEAE8Ho927Nih2bNnS5J1H5/27dtr7dq1mjhxon7++WfddtttGj58uDp37qwOHTrolltu8XmdJUuWqEOHDvr444914MAB9e7dWxs2bJBUkIjp3LmztTrq008/VadOnZSXl3fU8R/NpWWjRo3S3r17S/yMHj064DaffPKJatWqpbZt20qSsrKyNHr0aOseTt7EW3Z2dsDXmDZtmh544AErkTJ37lxdeeWVmj9/vr788kulpqb6fONbIN57JsXFxVnv3atXLw0dOtR6vGHDBvXs2dPvN9e9+uqrat26dalJuKO9F1JpduzYoUWLFpWZPMzOzlbt2rWVkZGhjz/+2CrfsmWLbr/9dv373/+2vhVSkp544glNnTpVH3zwgQzD0MSJE617jKWkpJR4/csvv1zz5s1TQkKCBg0apI8++khbt27VTz/9JKngxvbVqlVTTEyMMjIySmy/ePFiXXfddXrxxRfVoUMHXXHFFbrssstKvcS0uJycHGVmZuqRRx5R48aN9cknn+ill16yfh+L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YcIE8d0uRy/QH1i8srKydPPNN9sUTeXx3HPPadCgQUpLS5PT6VT//v11xx136Pzzz9enn36qCy64QJMnTw53mBHpwIEDPo+vvPJK/f777+rRo4cSExPVr18/vffee+EJrpLjM0To0LehQ9+GgQkc5nA4TMMw/P44HA7T4XCYTZo0CXeYEcnhcJi33367Wb9+ffPnn38u8fxnn31mNm3aNAyRRb7TTjvNnDRpkk/ZsmXLrH+vXLnSTExMNA8cOGB3aJXCli1bzMTERNM0TXPWrFnmySefbN58881mampqmCOLbImJiSXmgr/++sts3ry5eejQIfO7774zDcMIU3SR7ayzzjLffvtt63FqaqrZrl07s1q1ambXrl195geUX1xcnHneeeeZzz//vLlhw4YSz6enp5sOhyMMkUW2xo0bm6+++qr1+O+//zYNwzCXLl1qmqZpLl261ExKSgpTdJGtTp065pgxY8ysrCxz48aNZseOHU2Px2M9//PPP5tt2rQJY4SRj88QoUPfhg59W3FEhTsphorD3yoeHDsvv/yyzjvvPPXr10933HGHnn76aUVHR0uSzjvvPG3dujXMEUam7du365JLLrEeL1myRBdeeKF27dql6OhonXbaaWrUqJHWrVunM844I4yRRr5LLrlEq1at0gMPPKBTTz1VY8eO1Q033BDusCJSVFSUXC6XT1nt2rW1Y8cOxcfH6+yzz5ZhGGGKLrItX75cl19+ufW4Zs2a6tevn04++WRt2bJF5557roYNG6YXX3wxjFFGrmXLlumPP/7Q3Llz1bVrVzVr1kzDhg3T9ddfr9jYWEliRdoR2LVrl+rXr289btmypQzDUOPGjSUVzA/79+8PU3SR7fvvv9d9992nV155Rf369VNcXJzP/HrKKadox44dYYww8vEZInTo29ChbysOw+TMAQg5h8OhzMxMVa1aVevWrdN1112ngwcP6r777lOrVq00ceJEbdiwQYsXLw53qBHn2muvVVxcnJ577jnl5+dr8ODB2rBhgy6++GLde++9Wrx4sf79739r27ZtSkxMDHe4EeWWW25RZmamvvrqK11//fVWuWEYmj9/vtauXauLL75Ys2bNCmOUkem+++7Tt99+q4kTJ+rss89WSkqKhg8fLpfLpVmzZikjI0OJiYnyeDzhDjXitGjRQnfddZd1+aPb7daFF16oe++9V1dccYW2bNmiESNGcMn0MeB2u/Xjjz/qrbfe0vz58zVixAgNGjRISUlJjN1y6tKli6pXr67//e9/SkhI0GOPPaaPPvpIXbt21fDhw/Wf//xHmzZt0uzZs8MdasT6+uuv9dBDD2nNmjV68MEHNXjwYHk8Ho0aNUo1atTQtGnTwh0iAByXSEpBUsFfNfmrfOg4nU5lZGSoatWqkgpO5N99910rGdWxY0dNnjxZLVu2DHOkkWf//v0aNGiQvv/+e3k8HvXr10/vvvuu7r77bn3++eeqVauWxo4dq/79+4c71IgzdepU7du3T48//rgmTJgQsN5NN91kY1SVQ3Z2tu666y69//77crvdcjgcuvDCC/XOO+8oKSlJhw4dUseOHbV+/fpwhxpxvv32W1111VVq166dTj75ZC1fvlzVq1fX77//bq1OxbG3detWPf/88/riiy+0d+9eklLltHz5cv3rX//Srl27FB8fr2bNmmnWrFkaNWqUfvjhBzVr1kxTpkxRkyZNwh1qRDNNU9OnT9frr7+uv//+W5LUrVs3ffHFF6pdu3aYo4tsbrdbv/76q/7++2+lpqbK5XIpISFB7dq102WXXaaYmJhwhwj4+Oqrr3TRRRcpLi6uxHMzZ85U69at1bRp0zBEdvwhKQW5XC5ddNFFGjNmDJc3hYBpmtq2bZsaNWoU7lAqnaLJ1IMHD8rj8SghISHMUVUO2dnZqlKlilJTU/X444/rzTffDHdIlUbRcZuTk6Nt27apYcOGqlatWpgji3zevt25c6dmzJihHTt2qHnz5rrxxhutS8tw5LzzQmk2b96s3377jWR1OXjHrdvt1vLly+V0OtWuXbtwh1UplPZH18zMTLndblZRHwNff/21hg4dqurVq+vss89W3bp1lZubq82bN2v+/PlKSEjQV199pTZt2oQ71Epjy5YtGjJkiKZPn646deqEO5yI5HQ6rS9LKp7wnzx5sh588EH95z//UZ8+fcIU4XEkDPexQgX04IMPmjExMea1115rzpw509yzZ4/pcrnCHVbEy8/PNy+44ALzr7/+CncolQ59Gzq5ublm69atzU8//TTcoVQ6jNvQoW9Di3khNBi3oUPf2mPPnj1m1apVzSlTpvh9Pjs72xw+fLjZpUsXmyOr/N544w2za9eu5t69e8MdSkTii6gqDke4k2KoGMaMGaNF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",
      "text/plain": [
       "<Figure size 1200x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import akshare as ak\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import datetime\n",
    "import numpy as np\n",
    "\n",
    "# ========== 参数设置 ==========\n",
    "symbol = \"顶点\"\n",
    "year_spans = [2, 3, 5, 8, 10, 13]\n",
    "\n",
    "# ========== 获取数据 ==========\n",
    "today = datetime.datetime.today()\n",
    "full_start_date = (today - pd.DateOffset(years=max(year_spans))).strftime('%Y%m%d')\n",
    "end_date = today.strftime('%Y%m%d')\n",
    "\n",
    "\n",
    "df = ak.stock_zh_a_daily(symbol=\"sh600999\", start_date=full_start_date, end_date=end_date, adjust=\"qfq\")\n",
    "df['date'] = pd.to_datetime(df['date'])  # 用英文字段\n",
    "df = df[['date', 'open', 'close']]  # 保留必要字段\n",
    "df = df.sort_values(\"date\")\n",
    "\n",
    "# ========== 初始化图表数据容器 ==========\n",
    "bar_data = {}  # key: N_YEARS, value: 月份 -> 上涨次数\n",
    "\n",
    "# ========== 各周期上涨统计 ==========\n",
    "for N_YEARS in year_spans:\n",
    "    start_cut = today - pd.DateOffset(years=N_YEARS)\n",
    "    df_cut = df[df[\"date\"] >= start_cut].copy()\n",
    "\n",
    "    # 每月开盘与收盘\n",
    "    monthly_df = df_cut.groupby(df_cut[\"date\"].dt.to_period(\"M\")).agg({\n",
    "        \"open\": \"first\",\n",
    "        \"close\": \"last\"\n",
    "    }).reset_index()\n",
    "\n",
    "    monthly_df[\"month\"] = monthly_df[\"date\"].dt.month\n",
    "    monthly_df[\"up\"] = monthly_df[\"close\"] > monthly_df[\"open\"]\n",
    "\n",
    "    up_counts = monthly_df.groupby(\"month\")[\"up\"].sum()\n",
    "    total_counts = monthly_df.groupby(\"month\")[\"up\"].count()\n",
    "\n",
    "    total_up_count = up_counts.sum()\n",
    "    total_months = len(monthly_df)\n",
    "    overall_up_probability = total_up_count / total_months if total_months else 0\n",
    "\n",
    "    print(f\"最近 {N_YEARS} 年上涨月数/总月数：{total_up_count}/{total_months} | 概率：{overall_up_probability:.2%}\")\n",
    "\n",
    "    # 保存当前周期上涨次数\n",
    "    bar_data[N_YEARS] = up_counts\n",
    "\n",
    "# ========== 合并图表：分组柱状图 ==========\n",
    "plt.figure(figsize=(12, 6))\n",
    "\n",
    "bar_width = 0.12\n",
    "months = np.arange(1, 13)\n",
    "offsets = np.linspace(-bar_width * len(year_spans) / 2, bar_width * len(year_spans) / 2, len(year_spans))\n",
    "\n",
    "for i, N_YEARS in enumerate(year_spans):\n",
    "    counts = bar_data.get(N_YEARS, pd.Series(0, index=range(1, 13)))\n",
    "    counts = counts.reindex(range(1, 13), fill_value=0)\n",
    "    plt.bar(months + offsets[i], counts.values, width=bar_width, label=f\"{N_YEARS}年\")\n",
    "\n",
    "plt.xticks(months, [f\"{m}月\" for m in months], rotation=-90)\n",
    "plt.xlabel(\"月份\")\n",
    "plt.ylabel(\"上涨次数\")\n",
    "plt.title(f\"{symbol} 不同周期每月上涨次数对比\")\n",
    "plt.legend(title=\"周期\")\n",
    "plt.grid(axis='y', linestyle='--', alpha=0.6)\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
